<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- qclcontextgl.cpp -->
  <title>QCLContextGL Class Reference</title>
  <link rel="stylesheet" type="text/css" href="style/style.css" />
  <script src="scripts/jquery.js" type="text/javascript"></script>
  <script src="scripts/functions.js" type="text/javascript"></script>
  <script src="./scripts/superfish.js" type="text/javascript"></script>
  <link rel="stylesheet" type="text/css" href="style/superfish.css" />  <script src="./scripts/narrow.js" type="text/javascript"></script>
  <link rel="stylesheet" type="text/css" href="style/narrow.css" />
  <!--[if IE]>
<meta name="MSSmartTagsPreventParsing" content="true">
<meta http-equiv="imagetoolbar" content="no">
<![endif]-->
<!--[if lt IE 7]>
<link rel="stylesheet" type="text/css" href="style/style_ie6.css">
<![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="style/style_ie7.css">
<![endif]-->
<!--[if IE 8]>
<link rel="stylesheet" type="text/css" href="style/style_ie8.css">
<![endif]-->
</head>
<body class="" onload="CheckEmptyAndLoadList();">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top" width="150"><img src="images/qt-logo.png" align="left" border="0" />&nbsp;&nbsp;<img src="images/qtopencl-logo.png" border="0" /></td>
<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"> <a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="qtopencl-all-classes.html"><font color="#004faf">All Classes</font></a></td>
</table>              <li><a href="modules.html">Modules</a></li>              <li>QtCLGL</li>
              <li>QCLContextGL</li>
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#public-functions">Public Functions</a></li>
<li class="level1"><a href="#static-public-members">Static Public Members</a></li>
<li class="level1"><a href="#details">Detailed Description</a></li>
</ul>
</div>
<h1 class="title">QCLContextGL Class Reference</h1>
<!-- $$$QCLContextGL-brief -->
<p>The QCLContextGL class represents an OpenCL context that is suitable for use with OpenGL objects. <a href="#details">More...</a></p>
<!-- @@@QCLContextGL -->
<pre class="highlightedCode brush: cpp">    #include &lt;QCLContextGL&gt;</pre><p>Inherits <a href="qclcontext.html">QCLContext</a>.</p>
<p>This class was introduced in QtOpenCL 4.7.</p>
<ul>
<li><a href="qclcontextgl-members.html">List of all members, including inherited members</a></li>
</ul>
<a name="public-functions"></a>
<h2>Public Functions</h2>
<table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qclcontextgl.html#QCLContextGL">QCLContextGL</a></b> ()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qclcontextgl.html#dtor.QCLContextGL">~QCLContextGL</a></b> ()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QCLEvent </td><td class="memItemRight bottomAlign"><b><a href="qclcontextgl.html#acquire">acquire</a></b> ( const QCLMemoryObject &amp; <i>mem</i> )</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QCLEvent </td><td class="memItemRight bottomAlign"><b><a href="qclcontextgl.html#acquire-2">acquire</a></b> ( const QCLMemoryObject &amp; <i>mem</i>, const QCLEventList &amp; <i>after</i> )</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qclcontextgl.html#create">create</a></b> ( const QCLPlatform &amp; <i>platform</i> = QCLPlatform() )</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QCLBuffer </td><td class="memItemRight bottomAlign"><b><a href="qclcontextgl.html#createGLBuffer">createGLBuffer</a></b> ( GLuint <i>bufobj</i>, QCLMemoryObject::Access <i>access</i> )</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QCLBuffer </td><td class="memItemRight bottomAlign"><b><a href="qclcontextgl.html#createGLBuffer-2">createGLBuffer</a></b> ( QGLBuffer * <i>bufobj</i>, QCLMemoryObject::Access <i>access</i> )</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QCLImage2D </td><td class="memItemRight bottomAlign"><b><a href="qclcontextgl.html#createRenderbuffer">createRenderbuffer</a></b> ( GLuint <i>renderbuffer</i>, QCLMemoryObject::Access <i>access</i> )</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QCLImage2D </td><td class="memItemRight bottomAlign"><b><a href="qclcontextgl.html#createTexture2D">createTexture2D</a></b> ( GLenum <i>type</i>, GLuint <i>texture</i>, GLint <i>mipmapLevel</i>, QCLMemoryObject::Access <i>access</i> )</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QCLImage2D </td><td class="memItemRight bottomAlign"><b><a href="qclcontextgl.html#createTexture2D-2">createTexture2D</a></b> ( GLuint <i>texture</i>, QCLMemoryObject::Access <i>access</i> )</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QCLImage3D </td><td class="memItemRight bottomAlign"><b><a href="qclcontextgl.html#createTexture3D">createTexture3D</a></b> ( GLenum <i>type</i>, GLuint <i>texture</i>, GLint <i>mipmapLevel</i>, QCLMemoryObject::Access <i>access</i> )</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QCLImage3D </td><td class="memItemRight bottomAlign"><b><a href="qclcontextgl.html#createTexture3D-2">createTexture3D</a></b> ( GLuint <i>texture</i>, QCLMemoryObject::Access <i>access</i> )</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QCLEvent </td><td class="memItemRight bottomAlign"><b><a href="qclcontextgl.html#release-2">release</a></b> ( const QCLMemoryObject &amp; <i>mem</i> )</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> QCLEvent </td><td class="memItemRight bottomAlign"><b><a href="qclcontextgl.html#release-3">release</a></b> ( const QCLMemoryObject &amp; <i>mem</i>, const QCLEventList &amp; <i>after</i> )</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qclcontextgl.html#supportsObjectSharing">supportsObjectSharing</a></b> () const</td></tr>
</table>
<a name="reimplemented-public-functions"></a>
<h2>Reimplemented Public Functions</h2>
<table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> virtual void </td><td class="memItemRight bottomAlign"><b><a href="qclcontextgl.html#release">release</a></b> ()</td></tr>
</table>
<ul>
<li class="fn">46 public functions inherited from <a href="qclcontext.html#public-functions">QCLContext</a></li>
</ul>
<a name="static-public-members"></a>
<h2>Static Public Members</h2>
<table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qclcontextgl.html#isGLBuffer">isGLBuffer</a></b> ( const QCLBuffer &amp; <i>buffer</i> )</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qclcontextgl.html#isRenderbuffer">isRenderbuffer</a></b> ( const QCLImage2D &amp; <i>image</i> )</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qclcontextgl.html#isTexture2D">isTexture2D</a></b> ( const QCLImage2D &amp; <i>image</i> )</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> bool </td><td class="memItemRight bottomAlign"><b><a href="qclcontextgl.html#isTexture3D">isTexture3D</a></b> ( const QCLImage3D &amp; <i>image</i> )</td></tr>
</table>
<ul>
<li class="fn">1 static public member inherited from <a href="qclcontext.html#static-public-members">QCLContext</a></li>
</ul>
<a name="details"></a>
<!-- $$$QCLContextGL-description -->
<div class="descr">
<h2>Detailed Description</h2>
<p>The QCLContextGL class represents an OpenCL context that is suitable for use with OpenGL objects.</p>
</div>
<!-- @@@QCLContextGL -->
<div class="func">
<h2>Member Function Documentation</h2>
<!-- $$$QCLContextGL[overload1]$$$QCLContextGL -->
<h3 class="fn"><a name="QCLContextGL"></a>QCLContextGL::QCLContextGL ()</h3>
<p>Constructs a new OpenCL context object that is suitable for use with OpenGL objects.</p>
<!-- @@@QCLContextGL -->
<!-- $$$~QCLContextGL[overload1]$$$~QCLContextGL -->
<h3 class="fn"><a name="dtor.QCLContextGL"></a>QCLContextGL::~QCLContextGL ()</h3>
<p>Destroys this OpenCL context.</p>
<!-- @@@~QCLContextGL -->
<!-- $$$acquire[overload1]$$$acquireconstQCLMemoryObject& -->
<h3 class="fn"><a name="acquire"></a><a href="qclevent.html">QCLEvent</a> QCLContextGL::acquire ( const <a href="qclmemoryobject.html">QCLMemoryObject</a> &amp; <i>mem</i> )</h3>
<p>Acquires access to the OpenGL object behind the OpenCL memory object <i>mem</i>. This function must be called before performing an OpenCL operation on any OpenGL memory object.</p>
<p>Returns an event object that can be used to wait for the request to finish. The request is executed on the active command queue for this context.</p>
<p>See also <a href="qclcontextgl.html#release">release</a>().</p>
<!-- @@@acquire -->
<!-- $$$acquire$$$acquireconstQCLMemoryObject&constQCLEventList& -->
<h3 class="fn"><a name="acquire-2"></a><a href="qclevent.html">QCLEvent</a> QCLContextGL::acquire ( const <a href="qclmemoryobject.html">QCLMemoryObject</a> &amp; <i>mem</i>, const <a href="qcleventlist.html">QCLEventList</a> &amp; <i>after</i> )</h3>
<p>This is an overloaded function.</p>
<p>Acquires access to the OpenGL object behind the OpenCL memory object <i>mem</i>. This function must be called before performing an OpenCL operation on any OpenGL memory object.</p>
<p>The request will not start until all of the events in <i>after</i> have been signaled as finished.</p>
<p>Returns an event object that can be used to wait for the request to finish. The request is executed on the active command queue for this context.</p>
<p>See also <a href="qclcontextgl.html#release">release</a>().</p>
<!-- @@@acquire -->
<!-- $$$create[overload1]$$$createconstQCLPlatform& -->
<h3 class="fn"><a name="create"></a>bool QCLContextGL::create ( const <a href="qclplatform.html">QCLPlatform</a> &amp; <i>platform</i> = QCLPlatform() )</h3>
<p>Creates an OpenCL context that is compatible with the current QGLContext and <i>platform</i>. Returns false if there is no OpenGL context current or the OpenCL context could not be created for some reason.</p>
<p>This function will first try to create a <a href="qcldevice.html#DeviceType-enum">QCLDevice::GPU</a> device, and will then fall back to <a href="qcldevice.html#DeviceType-enum">QCLDevice::Default</a> if a GPU is not found.</p>
<p>If <i>platform</i> is null, then the first platform that has a GPU will be used. If there is no GPU, then the first platform with a default device will be used.</p>
<p>See also <a href="qclcontextgl.html#supportsObjectSharing">supportsObjectSharing</a>().</p>
<!-- @@@create -->
<!-- $$$createGLBuffer[overload1]$$$createGLBufferGLuintQCLMemoryObject::Access -->
<h3 class="fn"><a name="createGLBuffer"></a><a href="qclbuffer.html">QCLBuffer</a> QCLContextGL::createGLBuffer ( GLuint <i>bufobj</i>, <a href="qclmemoryobject.html#Access-enum">QCLMemoryObject::Access</a> <i>access</i> )</h3>
<p>Creates an OpenCL memory buffer from the OpenGL buffer object <i>bufobj</i>, with the specified <i>access</i> mode.</p>
<p>This function will only work if <a href="qclcontextgl.html#supportsObjectSharing">supportsObjectSharing</a>() is true.</p>
<!-- @@@createGLBuffer -->
<!-- $$$createGLBuffer$$$createGLBufferQGLBuffer*QCLMemoryObject::Access -->
<h3 class="fn"><a name="createGLBuffer-2"></a><a href="qclbuffer.html">QCLBuffer</a> QCLContextGL::createGLBuffer ( QGLBuffer * <i>bufobj</i>, <a href="qclmemoryobject.html#Access-enum">QCLMemoryObject::Access</a> <i>access</i> )</h3>
<p>This is an overloaded function.</p>
<p>Creates an OpenCL memory buffer from the OpenGL buffer object <i>bufobj</i>, with the specified <i>access</i> mode.</p>
<p>This function will only work if <a href="qclcontextgl.html#supportsObjectSharing">supportsObjectSharing</a>() is true.</p>
<!-- @@@createGLBuffer -->
<!-- $$$createRenderbuffer[overload1]$$$createRenderbufferGLuintQCLMemoryObject::Access -->
<h3 class="fn"><a name="createRenderbuffer"></a><a href="qclimage2d.html">QCLImage2D</a> QCLContextGL::createRenderbuffer ( GLuint <i>renderbuffer</i>, <a href="qclmemoryobject.html#Access-enum">QCLMemoryObject::Access</a> <i>access</i> )</h3>
<p>Creates a 2D OpenCL image object from the specified OpenGL <i>renderbuffer</i> object, and the <i>access</i> mode.</p>
<p>This function will only work if <a href="qclcontextgl.html#supportsObjectSharing">supportsObjectSharing</a>() is true.</p>
<p>See also <a href="qclcontextgl.html#createTexture2D">createTexture2D</a>().</p>
<!-- @@@createRenderbuffer -->
<!-- $$$createTexture2D[overload1]$$$createTexture2DGLenumGLuintGLintQCLMemoryObject::Access -->
<h3 class="fn"><a name="createTexture2D"></a><a href="qclimage2d.html">QCLImage2D</a> QCLContextGL::createTexture2D ( GLenum <i>type</i>, GLuint <i>texture</i>, GLint <i>mipmapLevel</i>, <a href="qclmemoryobject.html#Access-enum">QCLMemoryObject::Access</a> <i>access</i> )</h3>
<p>Creates a 2D OpenCL image object from the specified <i>mipmapLevel</i>, OpenGL <i>texture</i> object, and <i>access</i> mode.</p>
<p>The <i>type</i> must be one of <tt>GL_TEXTURE_2D</tt>, <tt>GL_TEXTURE_CUBE_MAP_POSITIVE_X</tt>, <tt>GL_TEXTURE_CUBE_MAP_POSITIVE_Y</tt>, <tt>GL_TEXTURE_CUBE_MAP_POSITIVE_Z</tt>, <tt>GL_TEXTURE_CUBE_MAP_NEGATIVE_X</tt>, <tt>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</tt>, <tt>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</tt>, or <tt>GL_TEXTURE_RECTANGLE</tt>. The <i>texture</i> does not need to be bound to an OpenGL texture target.</p>
<p>This function will only work if <a href="qclcontextgl.html#supportsObjectSharing">supportsObjectSharing</a>() is true.</p>
<p>See also <a href="qclcontextgl.html#createTexture3D">createTexture3D</a>() and <a href="qclcontextgl.html#createRenderbuffer">createRenderbuffer</a>().</p>
<!-- @@@createTexture2D -->
<!-- $$$createTexture2D$$$createTexture2DGLuintQCLMemoryObject::Access -->
<h3 class="fn"><a name="createTexture2D-2"></a><a href="qclimage2d.html">QCLImage2D</a> QCLContextGL::createTexture2D ( GLuint <i>texture</i>, <a href="qclmemoryobject.html#Access-enum">QCLMemoryObject::Access</a> <i>access</i> )</h3>
<p>This is an overloaded function.</p>
<p>Creates a 2D OpenCL image object from the specified OpenGL <i>texture</i> object, and the <i>access</i> mode. If texture type is assumed to be <tt>GL_TEXTURE_2D</tt> and the mipmap level is assumed to be 0.</p>
<p>This function will only work if <a href="qclcontextgl.html#supportsObjectSharing">supportsObjectSharing</a>() is true.</p>
<!-- @@@createTexture2D -->
<!-- $$$createTexture3D[overload1]$$$createTexture3DGLenumGLuintGLintQCLMemoryObject::Access -->
<h3 class="fn"><a name="createTexture3D"></a><a href="qclimage3d.html">QCLImage3D</a> QCLContextGL::createTexture3D ( GLenum <i>type</i>, GLuint <i>texture</i>, GLint <i>mipmapLevel</i>, <a href="qclmemoryobject.html#Access-enum">QCLMemoryObject::Access</a> <i>access</i> )</h3>
<p>Creates a 3D OpenCL image object from the specified <i>mipmapLevel</i>, OpenGL <i>texture</i> object, and <i>access</i> mode.</p>
<p>The <i>type</i> must be <tt>GL_TEXTURE_3D</tt>. The <i>texture</i> does not need to be bound to an OpenGL texture target.</p>
<p>This function will only work if <a href="qclcontextgl.html#supportsObjectSharing">supportsObjectSharing</a>() is true.</p>
<p>See also <a href="qclcontextgl.html#createTexture2D">createTexture2D</a>().</p>
<!-- @@@createTexture3D -->
<!-- $$$createTexture3D$$$createTexture3DGLuintQCLMemoryObject::Access -->
<h3 class="fn"><a name="createTexture3D-2"></a><a href="qclimage3d.html">QCLImage3D</a> QCLContextGL::createTexture3D ( GLuint <i>texture</i>, <a href="qclmemoryobject.html#Access-enum">QCLMemoryObject::Access</a> <i>access</i> )</h3>
<p>This is an overloaded function.</p>
<p>Creates a 3D OpenCL image object from the specified OpenGL <i>texture</i> object, and <i>access</i> mode. If texture type is assumed to be <tt>GL_TEXTURE_3D</tt> and the mipmap level is assumed to be 0.</p>
<p>This function will only work if <a href="qclcontextgl.html#supportsObjectSharing">supportsObjectSharing</a>() is true.</p>
<!-- @@@createTexture3D -->
<!-- $$$isGLBuffer[overload1]$$$isGLBufferconstQCLBuffer& -->
<h3 class="fn"><a name="isGLBuffer"></a>bool QCLContextGL::isGLBuffer ( const <a href="qclbuffer.html">QCLBuffer</a> &amp; <i>buffer</i> )<tt> [static]</tt></h3>
<p>Returns true if the OpenCL <i>buffer</i> object is also an OpenGL buffer object; false otherwise.</p>
<!-- @@@isGLBuffer -->
<!-- $$$isRenderbuffer[overload1]$$$isRenderbufferconstQCLImage2D& -->
<h3 class="fn"><a name="isRenderbuffer"></a>bool QCLContextGL::isRenderbuffer ( const <a href="qclimage2d.html">QCLImage2D</a> &amp; <i>image</i> )<tt> [static]</tt></h3>
<p>Returns true if the 2D OpenCL <i>image</i> object is also an OpenGL renderbuffer object; false otherwise.</p>
<p>See also <a href="qclcontextgl.html#isTexture2D">isTexture2D</a>().</p>
<!-- @@@isRenderbuffer -->
<!-- $$$isTexture2D[overload1]$$$isTexture2DconstQCLImage2D& -->
<h3 class="fn"><a name="isTexture2D"></a>bool QCLContextGL::isTexture2D ( const <a href="qclimage2d.html">QCLImage2D</a> &amp; <i>image</i> )<tt> [static]</tt></h3>
<p>Returns true if the 2D OpenCL <i>image</i> object is also an OpenGL 2D texture object; false otherwise.</p>
<p>See also <a href="qclcontextgl.html#isRenderbuffer">isRenderbuffer</a>() and <a href="qclcontextgl.html#isTexture3D">isTexture3D</a>().</p>
<!-- @@@isTexture2D -->
<!-- $$$isTexture3D[overload1]$$$isTexture3DconstQCLImage3D& -->
<h3 class="fn"><a name="isTexture3D"></a>bool QCLContextGL::isTexture3D ( const <a href="qclimage3d.html">QCLImage3D</a> &amp; <i>image</i> )<tt> [static]</tt></h3>
<p>Returns true if the 3D OpenCL <i>image</i> object is also an OpenGL 3D texture object; false otherwise.</p>
<p>See also <a href="qclcontextgl.html#isTexture2D">isTexture2D</a>().</p>
<!-- @@@isTexture3D -->
<!-- $$$release[overload1]$$$release -->
<h3 class="fn"><a name="release"></a>void QCLContextGL::release ()<tt> [virtual]</tt></h3>
<p>Reimplemented from <a href="qclcontext.html#release">QCLContext::release</a>().</p>
<!-- @@@release -->
<!-- $$$release$$$releaseconstQCLMemoryObject& -->
<h3 class="fn"><a name="release-2"></a><a href="qclevent.html">QCLEvent</a> QCLContextGL::release ( const <a href="qclmemoryobject.html">QCLMemoryObject</a> &amp; <i>mem</i> )</h3>
<p>Releases access to the OpenGL object behind the OpenCL memory object <i>mem</i>. This function must be called after performing an OpenCL operation on any OpenGL memory object, and before performing OpenGL operations on the object.</p>
<p>Returns an event object that can be used to wait for the request to finish. The request is executed on the active command queue for this context.</p>
<p>See also <a href="qclcontextgl.html#acquire">acquire</a>().</p>
<!-- @@@release -->
<!-- $$$release$$$releaseconstQCLMemoryObject&constQCLEventList& -->
<h3 class="fn"><a name="release-3"></a><a href="qclevent.html">QCLEvent</a> QCLContextGL::release ( const <a href="qclmemoryobject.html">QCLMemoryObject</a> &amp; <i>mem</i>, const <a href="qcleventlist.html">QCLEventList</a> &amp; <i>after</i> )</h3>
<p>This is an overloaded function.</p>
<p>Releases access to the OpenGL object behind the OpenCL memory object <i>mem</i>. This function must be called after performing an OpenCL operation on any OpenGL memory object, and before performing OpenGL operations on the object.</p>
<p>The request will not start until all of the events in <i>after</i> have been signaled as finished.</p>
<p>Returns an event object that can be used to wait for the request to finish. The request is executed on the active command queue for this context.</p>
<p>See also <a href="qclcontextgl.html#acquire">acquire</a>().</p>
<!-- @@@release -->
<!-- $$$supportsObjectSharing[overload1]$$$supportsObjectSharing -->
<h3 class="fn"><a name="supportsObjectSharing"></a>bool QCLContextGL::supportsObjectSharing () const</h3>
<p>Returns true if this OpenCL context supports object sharing with OpenGL; false otherwise.</p>
<p>See also <a href="qclcontextgl.html#createGLBuffer">createGLBuffer</a>(), <a href="qclcontextgl.html#createTexture2D">createTexture2D</a>(), <a href="qclcontextgl.html#createTexture3D">createTexture3D</a>(), and <a href="qclcontextgl.html#createRenderbuffer">createRenderbuffer</a>().</p>
<!-- @@@supportsObjectSharing -->
</div>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
<td align="left">Copyright &copy; 2010 Nokia Corporation</td>
<td align="right">QtOpenCL Documentation</td>
</tr></table></div></address>  <script src="scripts/functions.js" type="text/javascript"></script>
  <script type="text/javascript">
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-4457116-5']);
  _gaq.push(['_trackPageview']);
  (function() {
  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
  </script>
</body>
</html>
